The Internet Group Management Protocol (IGMP) is a typical group management protocol widely employed by multicast multimedia applications in current IP networks, for example, IP TV network television system, IP conference television systems, IP online educational courses etc.
FIG. 1 is a schematic diagram of a typical IP multicast architecture. A multicast routing protocol is used between a local router and a remote router. That protocol can be the Distance Vector Multicast Routing Protocol (DVMRP), the Protocol Independent Multicast-Dense Mode (PIM-DM) or another protocol. IGMP is used between a local router and a plurality of IGMP hosts. It is known that the IGMP hosts can be any user terminal which supports IGMP, such as a set top box (STB), personal computer (PC), Personal Digital Assistant etc.
A typical IGMP host notifies the local router by this protocol that it desires to enter a certain multicast group and receive messages thereof, while the local router periodically queries whether a member of a known group within a local area network is in an active state (i.e. whether there are still some members belonging to a certain multicast group in this network section) to create and maintain membership information in a direct interconnection section of the router. Based on the reports from group members (IGMP hosts), the local router is able to make a decision whether keep continuing forwarding the multicast packets of the group to the attached network or prune the branch by stopping forwarding the multicast packets to the attached network.
Currently, there exist three versions of IGMP for use, IGMPv1, v2 and v3. For IGMPv1 and IGMPv2, the local router only can obtain the state of an entire group to determine whether it is needed to forward the multicast packets to the group, and it is impossible for them to track per-host membership status on a network owing to the duplicate reports suppression which consists of having only one member of a group send a report message, instead of all members replying. This will result in serious bandwidth loss in the video transmissions, because if an IGMP host has left a group, the local router may still transmit the multicast video packets to it owing to the active state of the group.
In order to track per-host membership status on a network, the duplicate reports suppression is cancelled in IGMPv3. That is, when the local router periodically queries whether a member of a known group within a local area network is an active state, each active IGMP host in the group will give a report without suppression.
FIG. 2 is schematic diagram of an IP network showing IGMP Query, report and leave message flow. In the figure, the local router 100 sends an IGMP Query message to the group including hosts 104-1 to 104-3 with forwarding by Ethernet Switches 102-1 to 102-2. Each active host will send a respective report message as a reply. Thus, the router can track per-host membership status on the network.
However, the local router 100 using IGMPv3 can only obtain the state of all hosts in the network, and can not obtain the state of selected hosts. In addition, the Query message is sent in multicast mode and each host will give a multicast response, which will result in bandwidth loss. In addition, the above method can not be used by hosts with the duplicate reports suppression, such as the hosts in IGMPv1 and IGMPv2 networks.